<?php 
class Gallery_mod extends CI_Model {
	
	// questa è la funzione che invia i messaggi
	public function __construct(){
		parent::__construct() ; 
	}	
	
	// questa serve a recuperar eil dettaglio della foto
	public function dettaglio_foto($id_utente ,$id_pagina , $id_foto){
		$query = "select * from gallery_img where id='$id_foto' and id_utente='$id_utente' and id_pagina='$id_pagina' ";
		$risu  = mysql_query($query);
		$arr   = mysql_fetch_array($risu);
		return $arr; 
	}
	
	
	public function dettaglio_partners($id_utente ,$id_pagina ){
		
		$query = "select * from gallery_cat where id_utente='$id_utente' and id_pagina='$id_pagina' and permessi='4'";
		$risu  = mysql_query($query);
		$num   = mysql_num_rows($risu);
		if($num){
			$arr   = mysql_fetch_array($risu);
		}else {
			$query_ins = "Insert into gallery_cat (id_utente, id_pagina, permessi, nome, data_creazione, data_modifica, ordine) 
			values 
			('$id_utente', '$id_pagina', '4', 'Gallery Partenrs', CURRENT_TIMESTAMP, data_modifica, '0')";
			$risu_ins  = mysql_query($query_ins);
			$query2 = "select * from gallery_cat where id_utente='$id_utente' and id_pagina='$id_pagina' and permessi='4'";
			$risu2  = mysql_query($query2);
			$arr   = mysql_fetch_array($risu2);
		}
		return $arr; 
	}
	
	public function dettaglio_gallery($id_utente ,$id_pagina , $id_gallery){
		$query = "select * from gallery_cat where id='$id_gallery' and id_utente='$id_utente' and id_pagina='$id_pagina' ";
		$risu  = mysql_query($query);
		$arr   = mysql_fetch_array($risu);
		return $arr; 
	}
	
	public function foto_tot($id_utente ,$id_pagina , $id_gallery){
		$query = "select * from gallery_img where id_utente='$id_utente' and id_pagina='$id_pagina' and id_gallery='$id_gallery' ";
		$risu  = mysql_query($query); 
		$num   = mysql_num_rows($risu);
		return $num; 
	}
	
	// Questa è la parte che riordina la gallery
	public function riordina_gallery($id_utente, $id_pagina, $id_gallery){
		$arr_foto = array();
		$query = "select * from gallery_img where id_utente='$id_utente' and id_pagina='$id_pagina' and id_gallery='$id_gallery' order by ordine ";
		$risu  = mysql_query($query);
		$num   = mysql_num_rows($risu);
		if($num){
			// prima riempio l'array
			for($x=0;$x<$num;$x++){
				$arr = mysql_fetch_array($risu);
				$arr_foto[$x]= $arr['id'];
			}
			
			// poi riordino la gallery
			for($x=0;$x<$num;$x++){
				$query_2 = "update gallery_img set ordine='$x' 
					where 
						id_utente='$id_utente' and 
						id_pagina='$id_pagina' and 
						id_gallery='$id_gallery' and 
						id='{$arr_foto[$x]}'";
				$risu_2 = mysql_query($query_2);
			}
		}
	}
	
	// Questa è la parte che elimina le foto
	public function elimina_foto($id_utente, $id_pagina,$id_gallery, $id_foto ){
		$query = "delete from gallery_img where id_utente='$id_utente' and id_pagina='$id_pagina' and id='$id_foto' ";
		$risu  = mysql_query($query); 
		$num   = mysql_affected_rows();
		
		if($num)$this->riordina_gallery($id_utente, $id_pagina, $id_gallery);
		
		return $num;
	}
	
	public function modifica_testo_foto($id_utente , $id_pagina ,$id_foto ,$testo ){
		$query = "update gallery_img set testo='$testo' where id_utente='$id_utente' and id_pagina='$id_pagina' and id='$id_foto' ";
		$risu  = mysql_query($query);
		return mysql_affected_rows();
	} 
	
	public function modifica_gallery($id_utente ,$id_pagina , $id_gallery , $nome_gallery , $permessi_gallery) {
		$query = "UPDATE 
			gallery_cat SET 
				nome='$nome_gallery' , 
				permessi='$permessi_gallery' 
			where
				id_utente='$id_utente' and 
				id_pagina='$id_pagina' and
				id='$id_gallery'";
		$risu  = mysql_query($query);
		return mysql_affected_rows();
	}
	
	public function foto_successiva($id_utente ,$id_pagina , $id_gallery ,  $id_foto , $ordine_foto){
		$ordine_next = $ordine_foto + 1 ; 
		$query = "select * from gallery_img where id_utente='$id_utente' and id_pagina='$id_pagina' and id_gallery='$id_gallery' and ordine='$ordine_next' ";
		$risu  = mysql_query($query);
		$num   = mysql_num_rows($risu);
		if($num) {
			$arr = mysql_fetch_array($risu);
			$id  = $arr['id'];
		}
		else {
			$query_1 = "select * from gallery_img where id_utente='$id_utente' and id_pagina='$id_pagina' and id_gallery='$id_gallery' order by ordine ";
			$risu_1  = mysql_query($query_1);
			$arr_1 = mysql_fetch_array($risu_1);
			$id  = $arr_1['id'];
		}
		return $id ; 
	}
	
	
	public function foto_precedente($id_utente ,$id_pagina , $id_gallery ,  $id_foto , $ordine_foto){
		$ordine_prev = $ordine_foto - 1 ; 
		
		// prima prendo l'ordine massimo
		$query_min = "select min(ordine) as min from gallery_img where id_utente='$id_utente' and id_pagina='$id_pagina' and id_gallery='$id_gallery'";
		$risu_min  = mysql_query($query_min);
		list($min) = mysql_fetch_array($risu_min);
		// prendo l'ultima foto
		if($ordine_prev<$min){
			$query = "select * from gallery_img where id_utente='$id_utente' and id_pagina='$id_pagina' and id_gallery='$id_gallery' order by ordine desc ";
			$risu  = mysql_query($query);
			$num   = mysql_num_rows($risu);
			$arr = mysql_fetch_array($risu);
			$id  = $arr['id'];
		}else{
			$query = "select * from gallery_img where id_utente='$id_utente' and id_pagina='$id_pagina' and id_gallery='$id_gallery' and ordine='$ordine_prev' ";
			$risu  = mysql_query($query);
			$num   = mysql_num_rows($risu);
			$arr = mysql_fetch_array($risu);
			$id  = $arr['id'];
		}
		
		
		return $id ; 
	}
	
	
	// Questa è al parte ch egestisce il cambio dell'ordine
	public function cambia_ordine($id_utente ,$id_pagina , $arr_elementi){
		foreach($arr_elementi as $key => $value ){
			$ordine = $key ;
			$id_ele = $value ; 
			$query = "update gallery_img set ordine='$ordine' where id_utente='$id_utente' and id_pagina='$id_pagina' and id='$id_ele' "; 
			$risu  = mysql_query($query);
		}
	}
	
	// Questa è al parte ch egestisce il cambio dell'ordine
	public function cambia_ordine_cat($id_utente ,$id_pagina , $permessi_gallery , $arr_elementi){
		foreach($arr_elementi as $key => $value ){
			$ordine = $key ;
			$id_ele = $value ; 
			// cambia ordine e cambia categoria a patto che la categoria attuale sia diversa da 3
			$query = "update gallery_cat 
				set 	ordine='$ordine' , 
						permessi='$permessi_gallery' 
			WHERE 
				id_utente='$id_utente' and 
				id_pagina='$id_pagina' and 
				id='$id_ele' "; 
			//echo $query ; 
			$risu  = mysql_query($query);
		}
	}
	
	
	public function elenco_categorie_gallery_amico($id_utente , $id_pagina , $tipo_amico){
		$stringa_sql = " and permessi=1 ";
		if($tipo_amico=="1") $stringa_sql = " and permessi<3 ";
		
		$query = "select * from gallery_cat where id_utente='$id_utente' and id_pagina='$id_pagina' $stringa_sql order by ordine";
		// echo $query ; 
		$risu = mysql_query($query);
		$num  = mysql_num_rows($risu);
		$arr_return = array();
		for($x=0;$x<$num;$x++){
			$arr_return[$x] = mysql_fetch_array($risu);
			
			// ora devo prendere se c'è la prima foto tra quelle inserite
			$query_sub = "select nome_thumb from gallery_img where id_utente='$id_utente' and id_pagina='$id_pagina' and id_gallery='{$arr_return[$x]['id']}' order by ordine";
			$risu_sub  = mysql_query($query_sub);
			$num_sub   = mysql_num_rows($risu_sub);
			$nome_file = "";
			if($num_sub)list($nome_file) = mysql_fetch_array($risu_sub);
			$arr_return[$x]['nome_file']= $nome_file ; 
		}
		return $arr_return ;
	}
	
	
	public function elenco_cartelle_gallery($id_utente , $id_pagina){
		$query = "select * from gallery_cat where id_utente='$id_utente' and id_pagina='$id_pagina' order by ordine";
		// echo $query ; 
		$risu = mysql_query($query);
		$num  = mysql_num_rows($risu);
		$arr_return = array();
		for($x=0;$x<$num;$x++){
			$arr_return[$x] = mysql_fetch_array($risu);
			
			// ora devo prendere se c'è la prima foto tra quelle inserite
			$query_sub = "select nome_thumb from gallery_img where id_utente='$id_utente' and id_pagina='$id_pagina' and id_gallery='{$arr_return[$x]['id']}' order by ordine";
			$risu_sub  = mysql_query($query_sub);
			$num_sub   = mysql_num_rows($risu_sub);
			$nome_file = "";
			if($num_sub)list($nome_file) = mysql_fetch_array($risu_sub);
			$arr_return[$x]['nome_file']= $nome_file ; 
		}
		return $arr_return ;
	}
	
	// Questa è il check bacheca gallery
	public function check_bacheca_upload($id_utente ,$id_pagina , $id_gallery ){
		$query= "select * from gallery_cat where id_utente='$id_utente' and id_pagina='$id_pagina' and id='$id_gallery'";
		$risu = mysql_query($query) ; 
		return mysql_num_rows($risu) ; 
	}
	
	// Questa è la parte che gestisce l'elenco immagini
	public function elenco_immagini($id_utente ,$id_pagina , $id_gallery){
		$query = "select * from gallery_img where id_utente='$id_utente' and id_pagina='$id_pagina' and id_gallery='$id_gallery' order by ordine" ;
		//echo $query; 
		$risu  = mysql_query($query) ; 
		$num   = mysql_num_rows($risu) ; 
		$arr_risultato = array() ; 
		for($x=0;$x<$num;$x++){ 
			$arr_risultato[$x] = mysql_fetch_array($risu) ; 
		} 
		return $arr_risultato ;
	}
	
	
	// Questa è la parte che carica i file della gallery
	public function registra_file($id_utente, $id_pagina, $id_gallery, $nome_file , $nome_thumb){
		$ordine = $this->img_ordine_next($id_utente , $id_pagina , $id_gallery);
		$tempo = time();
		$query = "insert into gallery_img (id_utente , id_pagina , id_gallery , nome_file , nome_thumb , data_creazione, data_modifica ,  ordine ) 
		values ('$id_utente' , '$id_pagina' , '$id_gallery' , '$nome_file' , '$nome_thumb' , '$tempo' , '$tempo' , '$ordine')";
		$risu  = mysql_query($query);
	}
	
	public function img_ordine_next($id_utente , $id_pagina , $id_gallery){
		$query = "select (max(ordine) + 1) as max from gallery_img where id_utente='$id_utente' and id_pagina='$id_pagina' and id_gallery='$id_gallery' " ;
		$risu  = mysql_query($query);
		list($max) = mysql_fetch_array($risu);
		if(!$max) $max = 1 ; 
		return $max ; 
	}
	
	// Questa serve a recuperare il prossimo ordine massimo da usare come prossima categoria gallery
	public function cat_ordine_next($id_utente , $id_pagina){
		$query = "select (max(ordine) + 1) as max from gallery_cat where id_utente='$id_utente' and id_pagina='$id_pagina'" ;
		$risu  = mysql_query($query);
		list($max) = mysql_fetch_array($risu);
		if(!$max) $max = 1 ; 
		return $max ; 
	}
	
	public function inserisci_db($id_utente ,$id_pagina , $nome , $permessi ){
		
		$ordine = $this->cat_ordine_next($id_utente ,$id_pagina);
		$data_oggi = time();
		$query = "insert into gallery_cat (id_utente , id_pagina , nome , permessi , data_creazione, data_modifica, ordine) values 
		('$id_utente' ,'$id_pagina' , '$nome' , '$permessi' , '$data_oggi' , '$data_oggi', '$ordine')";
		//echo $query ; 
		$risu  = mysql_query($query);
		if($risu) return "1" ; 
		else return "Errore al momento dell'inserimento";
	}
	
}
?>
